#ifndef OnlineTrainer2OGrandChild_H
#define OnlineTrainer2OGrandChild_H
#include "OnlineTrainer.h"

class OnlineTrainer2OGrandChild : public OnlineTrainer{
public:
	OnlineTrainer2OGrandChild(int maxLength, DependencyPipe *pipe, ParserOptions *options, DependencyDecoder *decoder, Parameters *params);
	virtual ~OnlineTrainer2OGrandChild();
	virtual void developOnline(std::vector<int> *instanceLengths, std::string *train_forest, int iter, Parameters *params_bk);
	virtual void trainOnline(std::vector<int> *instanceLengths, std::string *train_forest, int iter);
	virtual void developWriteLog(Parameters *params_bk, string *devfile);
	virtual void outputParses(DependencyInstance *instance);

protected:
	vector<vector<vector<double> > > probs_grands;
	vector<vector<double> > probs_gchs;
};
#endif